1. Field of the Invention
This invention relates to a method of transforming the shape of a skeleton model, an image synthesizing apparatus, and an information storage medium.
2. Description of Related Art
A technique called inverse kinematics is known in the art. With this technique, a skeleton model 20 such as that shown in FIG. 22A is created beforehand within a computer. The user then uses an input device such as a mouse to transform that skeleton model 20 while viewing the skeleton model 20 on a display device, such as a CRT, to create any motion or pose that the user desires. It should be noted that each of the joint or end points of the skeleton model 20 is called a "node" in the description that follows, and a linking "bone" that connects two nodes is called an arc.
Several methods of using this inverse kinematics technique are known in the art, such as is described in "Modeling and Animation Techniques for a Computer Generated Actor" (by Fukui Kazuo, reference material for a seminar on Human Modelling and Display Techniques, held in September 1991 by the Information Processing Society). With this prior-art technique, arc-to-arc angles .theta..sub.1, .theta..sub.2, and .theta..sub.3 are used as basic variables representing the shape of a skeleton model, as shown in FIG. 22B. One of the problems to be solved with this prior-art inverse kinematics method occurs when there is a straight-linked skeleton having a fixed node 40 and the location (x, y, z) of a node 42 at the other end thereof has been specified. The difficulty involves deriving the arc-to-arc angles .theta..sub.1, .theta..sub.2, and .theta..sub.3 that implement this method. This problem is equivalent to obtaining an inverse function f.sup.-1 (x, y, z) of a function f(.theta..sub.1x, .theta..sub.1y, .theta..sub.1z, .theta..sub.2x . . . ). However, since the function f is non-linear, it is not easy to obtain this inverse function. In this case, infinitesimal differentials .DELTA.x, .DELTA.y, and .DELTA.z in x, y, and z are approximated by linear expression involving infinitesimal differentials .DELTA..theta..sub.1x, .DELTA..theta..sub.1y, .DELTA..theta..sub.1z, .DELTA..theta..sub.2x . . . of the arc-to-arc angles. The problem to be solved thereby can be reduced to the solving of the set of simultaneous equations shown in FIG. 22C. However, the matrix M in FIG. 22C is not square and the number of variables thereof is less than the number of equations, so there is an infinite number of solutions. In this case, by adding a condition that the sum of squares of variations in the arc-to-arc angles is a minimum, the set of simultaneous equations of FIG. 22C can be solved.
However, the above described prior-art technique applies to a straight-linked skeleton that has one end fixed wherein arc-to-arc angles are used as basic variables expressing the shape, so it involves the following problems:
1. It is Difficult to Handle a Multiple-branching Structure
With this prior-art technique, in order to handle a skeleton model of a multiple-branching structure (a structure in which three or more arcs are connected to one node), such as that shown for example in FIG. 22C, it is necessary to divide it into a plurality of directly linked structures 23 to 27 and then set parent-child relationships as shown in FIGS. 23A and 23B. To move one of the hands of the skeleton model 20, for example, a node 30 is set as a root and a node 32 is moved as an effector, and to move the other hand, the node 30 is set as the root and a node 34 is moved as an effector. Similarly, to move one of the legs, a node 36 is set as a root in this case and a node 38 is moved as an effector. The user must therefore work while constantly being aware of which node acts as the root and which node acts as effector, which makes the work troublesome.
2. It is Difficult to Handle Complicated Restrictive Conditions
If restrictive conditions are set for a plurality of nodes, for example, it is necessary to divide the skeleton into suitable directly linked structures before handling it, so that the processing becomes complicated. These restrictive conditions are generally expressed as equations defining the node coordinates. If, for example, the node 38 in FIG. 22A is restricted to a polygon, an equation is used that always limits the node 38 to locations on that polygon. However, the basic variables used in the prior-art technique are the arc-to-arc angles, so it is difficult to use the above equations and thus restrictive conditions are difficult to handle.
3. It is Difficult to Move a Plurality of Nodes in Different Directions Simultaneously
In other words, if an attempt is made to move nodes 38 and 39 in different directions simultaneously, for example, with the prior-art technique, the processing is extremely complicated.